/**
 * @(#)ReportTextDaily.java.java	1.0  16-06-2014 
 *
 * Copyright 2014 Viettel Telecome. All rights reserved.
 * VIETTEL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.viettel.core.entities.report;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 *  BAO CAO DV TEXT HANG NGAY
 *  @author: toantm1
 *  @since: 16-06-2014 - 09:13:01
 */
@Entity
@Table(name = "REPORT_TEXT_DAILY")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@SequenceGenerator(name = "SEQ_STORE", sequenceName = "REPORT_TEXT_DAILY_SEQ", allocationSize = 1)
public class ReportTextDaily implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -7281551413062489091L;

	/** The id. */
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_STORE")
	@Column(name = "ID", precision=10, scale=0)
	private Long id;
	
	/**
	 * Ngay bao cao
	 */
	@Basic
	@Column(name = "REPORT_DATE", columnDefinition = "timestamp(6) default systimestamp", insertable = true, updatable = true)
	@Temporal(TemporalType.TIMESTAMP)
	private Date reportDate;
	
	/**
	 * So MO nhan duoc = Repair + error + valid
	 */
	@Basic
	@Column(name = "SMS_RECEIVE", precision = 22, scale = 0)
	private Long smsReceive;
	
	/**
	 * So MO repair duoc
	 */
	@Basic
	@Column(name = "SMS_REPAIR", precision = 22, scale = 0)
	private Long smsRepair;
	
	/**
	 * So MO khong sua loi dc
	 */
	@Basic
	@Column(name = "SMS_ERROR", precision = 22, scale = 0)
	private Long smsError;
	
	/**
	 * So MO dung
	 */
	@Basic
	@Column(name = "SMS_VALID", precision = 22, scale = 0)
	private Long smsValid;
	
	/**
	 * So MT gui di
	 */
	@Basic
	@Column(name = "SMS_SENT", precision = 22, scale = 0)
	private Long smsSent;
	
	/**
	 * Doanh thu = so tien charge duoc trong ngay
	 */
	@Basic
	@Column(name = "MONEY", precision = 22, scale = 0)
	private Long money;
	
	/**
	 * = MONEY * (1-VAT)
	 */
	@Basic
	@Column(name = "MONEY_VAT", precision = 22, scale = 0)
	private Long moneyVat;
	
	@Basic
	@Column(name = "ARPU", precision = 22, scale = 0)
	private Long arpu;
	
	/**
	 * ID cua dich vu
	 */
	@Basic
	@Column(name = "SERVICE_ID", precision = 10, scale = 0)
	private Long serviceId;
	
	/**
	 * Dau so nhan tin
	 */
	@Basic
	@Column(name = "RECEIVER", length=14)
	private String receiver;
	
	/**
	 * 0: Viettel, 1: Vina, Mobi
	 */
	@Basic
	@Column(name = "TELCO", precision = 2, scale = 0)
	private Byte telco;
	
	/**
	 * ID cua CP
	 */
	@Basic
	@Column(name = "CP_ID", precision = 10, scale = 0)
	private Long cpId;
	
	/**
	 * ID cua kenh dang ky
	 */
	@Basic
	@Column(name = "SOURCE_ID", precision = 10, scale = 0)
	private Long sourceId;
	
	/**
	 * ID content
	 */
	@Basic
	@Column(name = "CONTENT_ID", precision = 22, scale = 0)
	private Long contentId;
	
	/**
	 * them nhom dich vu
	 */
	@Basic
	@Column(name = "GROUP_ID", precision = 10, scale = 0)
	private Long groupId;
	
	@Basic
	@Column(name = "GROUP_NAME", length=50)
	private String groupName;
	
	/**
	 * Ten dich vu
	 */
	@Basic
	@Column(name = "SERVICE_NAME", length=50)
	private String serviceName;
	
	@Basic
	@Column(name = "SERVICE_NUMBER", length=20)
	private String serviceNumber;
	
	/**
	 * Cu phap
	 */
	@Basic
	@Column(name = "SERVICE_CODE", length=50)
	private String serviceCode;

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @return the reportDate
	 */
	public Date getReportDate() {
		return reportDate;
	}

	/**
	 * @return the smsReceive
	 */
	public Long getSmsReceive() {
		return smsReceive;
	}

	/**
	 * @return the smsRepair
	 */
	public Long getSmsRepair() {
		return smsRepair;
	}

	/**
	 * @return the smsError
	 */
	public Long getSmsError() {
		return smsError;
	}

	/**
	 * @return the smsValid
	 */
	public Long getSmsValid() {
		return smsValid;
	}

	/**
	 * @return the smsSent
	 */
	public Long getSmsSent() {
		return smsSent;
	}

	/**
	 * @return the money
	 */
	public Long getMoney() {
		return money;
	}

	/**
	 * @return the moneyVat
	 */
	public Long getMoneyVat() {
		return moneyVat;
	}

	/**
	 * @return the arpu
	 */
	public Long getArpu() {
		return arpu;
	}

	/**
	 * @return the serviceId
	 */
	public Long getServiceId() {
		return serviceId;
	}

	/**
	 * @return the receiver
	 */
	public String getReceiver() {
		return receiver;
	}

	/**
	 * @return the telco
	 */
	public Byte getTelco() {
		return telco;
	}

	/**
	 * @return the cpId
	 */
	public Long getCpId() {
		return cpId;
	}

	/**
	 * @return the sourceId
	 */
	public Long getSourceId() {
		return sourceId;
	}

	/**
	 * @return the contentId
	 */
	public Long getContentId() {
		return contentId;
	}

	/**
	 * @return the groupId
	 */
	public Long getGroupId() {
		return groupId;
	}

	/**
	 * @return the groupName
	 */
	public String getGroupName() {
		return groupName;
	}

	/**
	 * @return the serviceName
	 */
	public String getServiceName() {
		return serviceName;
	}

	/**
	 * @return the serviceNumber
	 */
	public String getServiceNumber() {
		return serviceNumber;
	}

	/**
	 * @return the serviceCode
	 */
	public String getServiceCode() {
		return serviceCode;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @param reportDate the reportDate to set
	 */
	public void setReportDate(Date reportDate) {
		this.reportDate = reportDate;
	}

	/**
	 * @param smsReceive the smsReceive to set
	 */
	public void setSmsReceive(Long smsReceive) {
		this.smsReceive = smsReceive;
	}

	/**
	 * @param smsRepair the smsRepair to set
	 */
	public void setSmsRepair(Long smsRepair) {
		this.smsRepair = smsRepair;
	}

	/**
	 * @param smsError the smsError to set
	 */
	public void setSmsError(Long smsError) {
		this.smsError = smsError;
	}

	/**
	 * @param smsValid the smsValid to set
	 */
	public void setSmsValid(Long smsValid) {
		this.smsValid = smsValid;
	}

	/**
	 * @param smsSent the smsSent to set
	 */
	public void setSmsSent(Long smsSent) {
		this.smsSent = smsSent;
	}

	/**
	 * @param money the money to set
	 */
	public void setMoney(Long money) {
		this.money = money;
	}

	/**
	 * @param moneyVat the moneyVat to set
	 */
	public void setMoneyVat(Long moneyVat) {
		this.moneyVat = moneyVat;
	}

	/**
	 * @param arpu the arpu to set
	 */
	public void setArpu(Long arpu) {
		this.arpu = arpu;
	}

	/**
	 * @param serviceId the serviceId to set
	 */
	public void setServiceId(Long serviceId) {
		this.serviceId = serviceId;
	}

	/**
	 * @param receiver the receiver to set
	 */
	public void setReceiver(String receiver) {
		this.receiver = receiver;
	}

	/**
	 * @param telco the telco to set
	 */
	public void setTelco(Byte telco) {
		this.telco = telco;
	}

	/**
	 * @param cpId the cpId to set
	 */
	public void setCpId(Long cpId) {
		this.cpId = cpId;
	}

	/**
	 * @param sourceId the sourceId to set
	 */
	public void setSourceId(Long sourceId) {
		this.sourceId = sourceId;
	}

	/**
	 * @param contentId the contentId to set
	 */
	public void setContentId(Long contentId) {
		this.contentId = contentId;
	}

	/**
	 * @param groupId the groupId to set
	 */
	public void setGroupId(Long groupId) {
		this.groupId = groupId;
	}

	/**
	 * @param groupName the groupName to set
	 */
	public void setGroupName(String groupName) {
		this.groupName = groupName;
	}

	/**
	 * @param serviceName the serviceName to set
	 */
	public void setServiceName(String serviceName) {
		this.serviceName = serviceName;
	}

	/**
	 * @param serviceNumber the serviceNumber to set
	 */
	public void setServiceNumber(String serviceNumber) {
		this.serviceNumber = serviceNumber;
	}

	/**
	 * @param serviceCode the serviceCode to set
	 */
	public void setServiceCode(String serviceCode) {
		this.serviceCode = serviceCode;
	}
	
	
}
